Some hacking notes for Breath of Fire: Dragon Quarter for PlayStation 2 by Tony H.  t_hedstrom@yahoo.com

Version 1.0 = Initial release.  1/19/2024
Version 1.1 = Added weapon/armor/shield/item data.  1/24/2024
Version 1.2 = Added Shop data, AP and Skill stuff.  1/26/2024
Version 1.3 = Added updated shop & weapon info.  1/30/2024
Version 1.4 = Added character skill/combo info.  2/5/2024
Version 1.6 = Added D-Counter info.  2/15/2024
Version 1.7 = Added more D-Counter info (D-Dive, D-Charge, etc).  2/26/2024

These are from the USA version with a serial number of SLUS-20499, and the exact name of the ISO file I'm using is:  Breath of Fire - Dragon Quarter (USA).iso

I'll try to include a string of hex numbers to search for with a hex editor, in case you're using a different version with different ISO addresses.

0x means it's a hex number.  PS2 ISO files are in little endian (bytes are reversed).

You can find the hex values and lists that you'll need below for weapons, armor, items, etc from here (look in the "Quantity Digits" drop down): https://gamehacking.org/game/103338     You can also find "Quantity Digits" at CodeTwink.

Index:

Character starting stats
Enemy/Boss data
Weapon data
Armor data
Shield data
Item data
Shop data
Assembly modifications for AP in battle (Steps and Skills)
Character skill/combo data
Assembly modification for D-Counter
Assembly modification for D-Counter (D-Dive, D-Charge, etc)

======================

Character starting stats...

Easy to find since their names are in plain text in the ISO.

Ryu's starting stats are at 0x587465A0, and each character gets 0x118 bytes.  Search for 527975000000.

These are the number of bytes after the first letter of their names:

0x18 bytes = Current HP (2 bytes).
0x20 bytes = Starting Exp (this also determines level and increases stats, 4 bytes)
0x2C bytes = Starting weapon.
0x38 bytes = 2nd starting weapon.
0x44 bytes = 3rd starting weapon.
0x50 bytes = Starting armor.
0x52 bytes = 2nd starting armor.
0x54 bytes = 3rd starting armor.
0x56 bytes = Starting shield.
0x5A bytes = 2nd starting shield.
0x5E bytes = 3rd starting shield.
0xAC bytes = Max HP (2 bytes).
0xB2 bytes = AP.
0xB4 bytes = ATK stat.
0xB6 bytes = DEF stat.
0xB8 bytes = SPD stat (note that SPD and MAG are swapped in the game compared to the ISO).
0xBA bytes = MAG stat.
0xBC bytes = MOV stat.
0xF9 bytes = Equipment boost for ATK (these are percentages and affect any weapon or armor).
0xFA bytes = Equipment boost for DEF.
0xFB bytes = Equipment boost for SPD (SPD and MAG are not swapped here like I mentioned above).
0xFC bytes = Equipment boost for MAG.
0xFD bytes = Equipment boost for MOV.

A lot more character stats in there have not been mapped yet.


Party data (these are for your entire party, and not just one character):

Starting Zenny (normally $300) is at 0x58746B92 (2 bytes).  Search for 2C010000E043.

Starting items (you normally start with 3 items) is at 0x58746BA1 (this is 0xF bytes after the Zenny amount).

Starting items work like this: 1st byte is the item hex number, the byte right after it is for the quantity of that item.  So in the ISO, the first item listed shows 0B05.  This means 0x0B is your item (Heal Kit), and the 5 means you have a quantity of 5 Heal Kits.  You can use quantity values up to 255 (0xFF).

You can also get weapons or armor instead of items this way: The byte right before the item number determines what kind of item it's going to be.  00 = item, 01 = weapon, 02 = armor, 03 = shields, 04 = misc items, 05 = Shield & Weapon Skills.  I think I've only tested weapons so far and they worked.  Note that if you use a quantity of more than 1, it adds a "+" sign after the equipment name along with your quantity value.  ie. Strong Sword+5 for weapon stat bonus.

======================

Enemy/Boss data...

Easy to find since their names are in plain text in the ISO.

Enemy stats start at 0x0022C000.  Search for 476F6F20456C
Boss stats start at 0x002340F8.  Search for 4379636C6F70

Enemies and bosses have 0xF8 bytes of data each.

These are the number of bytes after the first letter of their names:

0x18 bytes = Level
0x1C bytes = HP
0x20 bytes = AP
0x22 bytes = ?
0x24 bytes = ?
0x26 bytes = Attack
0x28 bytes = Defense
0x2A bytes = Speed
0x2C bytes = Magic
0x2E bytes = Move
0x30 bytes = ?
0x32 bytes = Start of elemental stuff?
0x72 bytes = Amount of Zenny dropped (times 10) (must use correct data, see below).
0x74 bytes = Exp
0x78 bytes = Type of item for 1st item dropped (see list below).
0x79 bytes = 1st dropped item.
0x7A bytes = Drop rate (1 thru 7).
0x7B bytes = How many or also for equipment "+" stat bonus (ie Strong Sword+5)(see below).
0x7C bytes = Type of item for 2nd item dropped.
0x7D bytes = 2nd dropped item.
0x7E bytes = Drop rate (1 thru 7).
0x7F bytes = How many or also for equipment "+" stat bonus (ie Strong Sword+5).
0x80 bytes = Type of item for 1st item stolen.
0x81 bytes = 1st Item stolen.
0x82 bytes = Drop rate (1 thru 7).
0x83 bytes = How many or also for equipment "+" stat bonus (ie Strong Sword+5).
0x84 bytes = Type of item for 2nd item stolen.
0x85 bytes = 2nd Item stolen.
0x86 bytes = Drop rate (1 thru 7).
0x87 bytes = How many or also for equipment "+" stat bonus (ie Strong Sword+5).

NOTES:
Drop/Steal rates: 1 = 1/64, 2 = 1/32, 3 = 1/16, 4 = 1/8, 5 = 1/4, 6 = 1/2, 7 = 1/1

Zenny collected is 06000700 or 06000701, Must use this & zenny amount (byte 0x72 = amount).
With zenny collected, I don't know what the 4th byte is for (always 00 or 01).
Zennypurse is 004B0701 but doesn't actually have any zenny.
Will not get zenny if you have something else in slot 1 with 7 drop rate.
Game may lock if dropped/stolen item amount is over 9 !!
For items, use 00 for 1st byte, 06 for zenny, all others use 4x where x = type (1 = weapon, 2 = armor, 3 = shields, 4 = Misc items, 5 = Shield & Weapon Skills).  Example: 41 = weapon, 42 = armor, etc.  Seems as though the "4x" in the 1st byte determines what the 4th byte does. So if it's a "4" then the 4th byte determines the "+" stat bonus for that piece of equipment (don't know what it's called), and if it's a "00", then the 4th byte determines how many items you get (9 max).
All Zenny rewards appear to always be "Dropped" and never stolen?
There are also more notes within the editor.

======================

Weapon data...

Weapons don't use any names in plain text in the ISO (like with enemies and characters).

The first Weapon in the table (Ranger Edge) starts at 0x5874AC7E (Attack value).  Search for 1000030001000106

The actual start of the table is a couple bytes before this, but will use Attack as the starting point to keep things simple.

Weapons have 0x1C bytes of data each.

These are the number of bytes after the Attack value:

0x00 bytes = Attack (might be 2 bytes, but still need to test to see if it uses 2nd byte).
0x04 bytes = Might be weapon type? (this might determine what the Elemental stuff does?).
0x05 bytes = Elemental (?) (Haven't tested yet, see notes below).
0x06 bytes = Who can equip/buy (also determines if a character can buy it in shops).
0x07 bytes = Weight
0x08 bytes = Cost (multiply value by 4 to get actual cost in game).
0x0C bytes = Range (multiply by 10 for actual value in game).
0x0E bytes = Accurracy (can be negative values, so be sure to use "signed" values for editor).
0x0F bytes = Start of Skills (9 bytes, 3 bytes for the 3 different levels).  See notes!
0x18 bytes = Magic


Notes:

Byte 0x04 might determine what the Elemental stuff does at Byte 0x05?  If Byte 0x04 is 0x11, it will do physical damage.  If Byte 0x04 is 0x21, it will do shot damage.  Haven't tested yet, so not sure about this.  Seems to be something else involved.

Elemental values (Byte 0x05):
0x01 = Fire
0x02 = Ice
0x04 = Electric
Haven't tested any of this yet, so not sure if it's correct.  You will probably need to include a value for "Magic" (Byte 0x18) for it to work.  Values of 0x0A and 0x0F are used in the ROM for Magic, so those should be safe to use for experimenting.  Higher values may cause more magic damage?


Changing the "Who can equip" (Byte 0x06) also determines if a character can buy that weapon/armor in shops (you normally can't if you aren't supposed to equip it (item is "grayed out" and not selectable).  If a character starts a new game with a weapon that he isn't normally allowed to equip, the game doesn't care.  As long as it's in their inventory, it should work fine (you can unequip/equip as often as you want).

Who can equip values:
0x01 = Ryu
0x02 = Nina
0x04 = This bit is never used by itself in the ROM for weapons?? Not sure why.
0x08 = Bosch
0x14 = Lin (this one uses 2 bits, so not sure who else this is for, maybe Dragon Form Ryu??).

Can add these values together to get any combination you want.  0x1F should make it equipable by anyone?

UPDATES ver 1.3:
Bytes 0x0F to 0x17 are for the 9 skills that weapons can have (3 skills for each of 3 levels).  These values are only read from when you start a new game, and after that they are stored in the save file.  Values used for skills: 0x00 = No skill listed (blank space in that slot in the skill menu), 0xFF = "UNAVAILABLE" in that slot in the skill menu, all other values are the hex ID numbers for the specific skills.  Pretty sure that 0x00 (the blank space) means that you can assign a skill in that slot, and 0xFF means you can not assign a skill in that slot.

You can not change the skills with the editor after you've started a new game.


======================

Armor data...

Armor doesn't use any names in plain text in the ISO (like with enemies and characters).

The first Armor in the table (Ranger Suit) starts at 0x5874B4BE (Defense value).  Search for 0E000300020001

The actual start of the table is a couple bytes before this, but will use Defense as the starting point to keep things simple.

Armor has 0x0C bytes of data each.

These are the number of bytes after the Defense value:

0x00 bytes = Defense.
0x06 bytes = Who can equip (similar to weapons, except uses 0x04 for Lin?) Check to make sure.
0x07 bytes = Movement (1 byte).
0x08 bytes = Cost (multiply value by 4 to get actual cost in game).

Notes:

Who can equip values (Byte 0x06):
0x01 = Ryu
0x02 = Nina
0x04 = Lin
0x08 = Bosch
Should be able to add these values together to get any combination you want.
0x0F = Anyone can equip (haven't tested yet).

======================

Shield data...

Shields don't use any names in plain text in the ISO (like with enemies and characters).

The first Shield in the table (Solid Shell) starts at 0x5874B842 (Defense value).  Search for 0000030003000100C8

The actual start of the table is a couple bytes before this, but will use Defense as the starting point to keep things simple.

Shields have 0x10 bytes of data each.

These are the number of bytes after the Defense value:

0x00 bytes = Defense (may only be 1 byte?).
0x06 bytes = Who can equip (similar to weapons, except uses 0x04 for Lin?) Check to make sure.
0x07 bytes = Weight (1 byte).
0x08 bytes = Cost (multiply value by 4 to get actual cost in game).

Notes:

Who can equip values (Byte 0x06):
0x01 = Ryu
0x02 = Nina
0x04 = Lin
0x08 = Bosch
Should be able to add these values together to get any combination you want.
0x0F = Anyone can equip (haven't tested yet).

======================

Item data...

Items don't use any names in plain text in the ISO (like with enemies and characters).

The first Item in the table (Confushroom) starts at 0x5874A566 (Damage/Restore value).  Search for 000000003000C010

The actual start of the table is 4 bytes before this, but will use Damage/Restore value as the starting point to keep things simple.  The value 2 bytes before this appears to determine what kind of item it is (ie. 0x6A = Heal HP type (Heal Kit, Aid Kit etc)).

Items have 0x14 bytes of data each.

These are the number of bytes after the Damage/Restore value:

0x00 bytes = Damage/Restore (how much damage it causes, how much HP restored, etc. See notes).
0x06 bytes = 2nd half of this byte seems to determine if it affects one or all (see notes).
0x0C bytes = Radius of explosion (1 byte).  For Bombs, Dynamite, etc.
0x0E bytes = Cost (multiply value by 4 to get actual cost in game).


Notes:
"Damage/Restore" value (Byte 0x00) seems to apply to several things, including damage caused, HP restored, permanent stat boosts (HP Plus, Power Meal, Protein, etc), temporary stat boosts (Power Boost, Armor Boost, etc).

Have tested, and this affects the actual damage/HP restored/stat boosts etc, as well as the text it shows when you select it.  Yay.  This will make life easier, since previous BoF games used assembly instructions to do the actual damage, HP restored, etc.  Works in or out of battle.

Byte 0x06 seems to do two things.  First half of byte seems to determine what it will do (2 = pertaining to enemies (damage to them, etc), 3 = pertaining to your party (HP restored, etc), C = pertaining to traps).  2nd half of byte seems to determine if it will affect 1 enemy/member or all of them (0 = one enemy/party member, 1 = all enemies/party members).  Example: 30 means it restore HP to 1 party member, 31 means it will restore HP to everyone in your party.

Note that there are a bunch of items at the end of the table that I have no idea what they are, and they're not included in any of the lists I've seen online.  They mainly have costs and a couple other things.  They start at 0x5874AAC6 (0x14 bytes each), although there are some unknown items before that as well.  One item has a cost of $260,000 (at 0x5874AB8C) and can't find anything with that price online.  I've left these items out of the editor since I don't know what they are.

======================

Shop data...

Shops don't use any names in plain text in the ISO (like with enemies and characters).

Note that the cost in shops is determined in other tables (mentioned above in the  Weapon/Armor/Shield/Item data sections).

The way shops work in this game is a little unusual.  In the weapon shop shop mentioned below, there are 4 possible shop menus, and each menu has different items for sale.  Which menu you get in the game is somewhat random.  Many shops have more than one menu.  The ISO lists the different menus one right after the other.

The first Item for sale in the Weapon Shop in LowSector Borough (Ranger Edge+2) starts at 0x2E4BF0.  Search for 0101020001020100010E    

The number of items for sale at shops (which is almost always 0x0A (10 items)), is 2 bytes before the 1st item for sale in each shop.  So in our 1st Weapon Shop in LowSector Borough, that address is 0x2E4BEE.  I tried increasing the number of items for sale, and it works, but not perfectly.  I made it so my shop had 20 items for sale instead of 10.  I was able to select and buy the items, but once I scrolled past the 10th item, my cursor disappeared off the bottom of the screen.  Even though you can't see the cursor after the 10th item, you can still see the stats for it, and you can see the name of it if you try to buy it.  See update below for new info.

Here's how the shop data works.  Each item for sale gets 4 bytes.  Starting from the address mentioned above:

1st Byte = Item type (00 = items, 01 = weapons, 02 = armor, 03 = shields, 0x45 = Skills).
2nd Byte = Item number (use "Quantity Digits" mentioned at the start of this guide).
3rd Byte = Stat boost (ie. the "+" number at the end of the equipment name: Ranger Edge+2).
4th Byte = Always 00 to separate each item for sale.
5th byte = Start of next item (Item type).

Most shops have 10 items for sale (one shop has 7), each shop should have 0x2C bytes.  0xA items x 4 bytes each = 0x28 bytes, plus the 4 bytes at the very beginning of each shop to determine how many items for sale.

The start of the second shop data (another version of the LowSector Borough weapon shop) starts at 0x2E4C18.  Just remember the first 4 bytes (01000A00) are to determine how many items are for sale in that shop.  The actual item data for the 2nd shop starts at 0x0x2E4C1C.

This is what I have mapped out at the time I'm writing this (haven't finished it yet for the editor).  This is the order they are in the ISO:

Wpn LowSector Borough #1
Wpn LowSector Borough #2
Wpn LowSector Borough #3
Wpn LowSector Borough #4

Wpn EndSector Borough #1
Wpn EndSector Borough #2
Wpn EndSector Borough #3
Wpn EndSector Borough #4

Wpn MidSector Mall #1

I'm guessing there will be 3 more versions of the MidSector Mall next.  A lot more shops in the ISO after these.

Wpn = Weapon Shop.

UPDATES version 1.3:
The 4 bytes right before the start of a new shop determine if it's an Item shop or a weapon shop, as well as how many items are for sale.  Example: The very 1st shop in the ISO (at 0x2E4BEC) uses these 4 bytes 01000A00.

1st byte = Type of shop where 0 = Items/Skills, 1 = Equipment (weapons, armor, shields).
3rd byte = How many items for sale (don't go over 10).

Best not to put Item/Skill stuff into a weapon shops, and vise versa.  Example: If you put an item into a weapon shop, it thinks it's a piece of equipment and asks if you want to equip it.  If you do, nothing happens, if you don't, the item isn't added to your inventory.

Changing "+ Boost" values for Items doesn't seem to do anything in the game (best to leave them at 00 for items).

There appears to only be 1 shop in the ROM that doesn't have 10 items for sale.  Centre Entrance and Cemetery item shops both only have 7 items, so they probably have both of those shops use the same data in the ROM (both shops sell exactly the same things).

Several other shops share data in the shop table as well.

Shop table ends at 0x2E5197 (the last shop in the table appears to be undocumented online).

Have mapped and added all of the shops to the editor.

======================

Assembly modifications for AP in battle (Steps and Skills)...

This section will deal with some CPU instructions (assembly).  Not a big deal if you're not familiar with PS2 assembly, since it's just a matter of changing a few bytes in the ISO.

This first section will explain how to disable the AP cost when you move around during battle.  When you're in battle, as soon as you start to move, your AP decreases the further away from your starting point you get.  This can really eat up your AP.  Here's how to disable that.

There are 2 different assembly instructions that you have to change.

1st instruction:

At ISO address 0x283AA4 (search for 1C0043A4200002), you will see these 4 bytes: 1C0043A4.  Change those 4 bytes to 00000000.

2nd instruction:

At ISO address 0x285300  (search for 2130E60023), you will see these 4 bytes: 2130E600.  Change those 4 bytes to 00000000.

What we are doing is changing those 2 instructions so that they won't do anything.  00000000 in PS2 assembly = a NOP instruction.  NOP stands for No Operation, which just means it won't do anything.



Here's the second section that will let you change how much AP is subtracted when you use Skills in battle.

The 3 values that determine how much AP is subtracted for each of the 3 different levels of Skills starts at ISO address 0x2E1610    search for 0A0014001E0000

1st byte (0x0A) = Level 1 Skill AP cost (normally 10 AP).
3rd byte (0x14) = Level 2 Skill AP cost (normally 20 AP).
5th byte (0x1E) = Level 3 Skill AP cost (normally 30 AP).

Changing these values should work on any Skill used during battle.

======================

Character skill/combo data...

The first skill in the table (Slice) starts at 0x58757336 (strength value).  Search for the first occurance of 000006030A00.

The actual start of the table is a few bytes before this, but will use the strength value as the starting point to keep things simple.

Skills have 0x14 bytes of data each.

These are the number of bytes after the strength value:

0x00 bytes = Strength (how much damage it causes, etc. See notes).  2 bytes.
0x04 bytes = AP cost (combo).  1 byte.
0x05 bytes = Type of magic attack and other things (01 = Fire, 02 = Ice, 04 = Lightning, etc).
0x06 bytes = Target (see notes).

Still a lot of this table that I haven't mapped out yet.  It is a very large table and includes all of the character skills, shield skills, etc.  I think the shield skill data starts at 0x58757BA6 (Phy.Def-25%), with it's AP cost 4 bytes after that.

The "Strength" byte does many different things depending on the type of skill it is: You can adjust how much enemy stats are reduced (like attack power, defense, magic power, etc), knock back amount, critical hit rate, how much damage magic spells cause, etc.  Many skills have a value of 00 here.  Haven't done any testing to see what happens if you change the zeros to larger values.

The AP cost byte of course determines how much AP it costs to use that skill.  NOTE: If you're only doing a single skill attack, the game uses the AP cost from the previous section (above).  However, if you do a combo skill, then the game uses the AP values from this table.

The target byte (byte 06) appears to determine who it targets (single enemy, spread attack, circle, trap, line, self, etc).  I didn't include this byte in the editor yet because I'm not sure if the info is correct (haven't tested yet).

======================

Assembly modification for D-Counter

This section will deal with a CPU instruction (assembly).  Not a big deal if you're not familiar with PS2 assembly, since it's just a matter of changing a few bytes in the ISO.

Note that version 1.6 of the editor explains how to edit how much is added to the D-Counter percentage for Dragon Ryu's abilities (Vortex, Hurricane, or Twister).

Here's how to disable the D-Counter so that nothing ever gets added to it.  This means your D-Counter will never increase when walking, using D-Dive, turns in battle, Vortex, Hurricane, etc.

Go to ISO address 0x58601A0C (or search for: 2110500076).

You should see these 4 bytes: 21105000
Change those 4 bytes to: 00000000

That instruction that we're changing normally adds a value to the D-Counter percentage.  What we are doing is changing that instruction so that it doesn't do anything.  00000000 in PS2 assembly = a NOP instruction.  NOP stands for No Operation, which just means it won't do anything.

UPDATE: Disabling the D-Counter has a couple problems (See the "D-Counter caution" button in the editor).  In my opinion, it's probably better to use the individual D-Counter adjustments rather than disabling it.  There is a new section below with more info on individual D-Counter adjustments.

======================

Assembly modification for D-Counter (D-Dive, D-Charge, etc)

This section will deal with CPU instruction stuff (assembly).  Not a big deal if you're not familiar with PS2 assembly, since it's just a matter of changing a few bytes in the ISO.

This will explain how to change how much D-Counter percentage it costs to use D-Dive, D-Charge, turn in battle as a human, turn in battle as a dragon, and walking out of battle.  Unlike Vortex, Hurricane, and Twister (which use a table for their values), these are done with assembly instructions.

Use these examples to help you decide how much is added to your D-Counter percentage:
0xC8 (200) = 2.00%
0x96 (150) = 1.50%
0x64 (100) = 1.00%
0x32 (50)  = 0.50%
0x19 (25)  = 0.25%
0x01 (1)   = 0.01%
0x00 (0)   = 0.00%

D-Dive: 
Go to ISO address 0x2B586C (or search for: 64000424EC).  The "64" there = 100 in decimal, which means 1.00% is added to your D-Counter.  Change the to 0x64 to whatever value you want (see the examples above).

Turn in battle as a human:
Go to ISO address 0x28DAE0 (or search for: 01000224C80004).  The first byte (01) is the percentage added to your D-Counter, which = 0.01%.  Changing it to zero means it won't add anything to your D-Counter.

Turn in battle as a dragon:
Go to ISO address 0x28DAE4 (or search for: 01000224C80004).  The 0xC8 (5th byte) is the percentage added to your D-Counter.  0xC8 = 200 in deciaml, which = 2.00%.  Change this to whatever value you want using the examples above.

Walking out of battle:
Go to ISO address 0x58601C00 (or search for: 010006240B00).  The first byte (01) is the percentage added to your D-Counter, which = 0.01%.  Changing it to zero means it won't add anything to your D-Counter.

D-Charge:
The way D-Charge works is kind of strange, so will do my best to explain.  If you just want to make it so D-Charge doesn't add anything to the D-Counter, just set all 3 values to zero.

D-Charge uses several small values and adds them incrementally to the D-Counter percentage, instead of a single large amount.

D-Charge uses 3 different values, so there will be 3 different addresses...

Address #1: Go to ISO address 0x2B68B8 (or search for: 03000424070040).  The first byte (03) is the percentage added (0.03%).  This value is only used once.

Address #2: Go to ISO address 0x2B6A28 (or search for: 03000424050040).  The first byte (03) is the percentage added (0.03%).  This value is used 59 times.

Address #3: Go to ISO address 0x2B6AEC (or search for: 020004240500401055).  The first byte (02) is the percentage added (0.02%).  This value is used 10 times.

Here is how all 3 values at the 3 different addresses get added up to 2.00% (the percentage added to the D-Counter for using D-Charge): The 1st address/value (03) is used once, the 2nd address/value is used 59 times (03 x 59 = 177), and the 3rd address/value is used 10 times (02 x 10 = 20).  Add them together to get 200 (2.00%): 3 + 177 + 20 = 200 (2.00%).  You can change the 3 values any way you want to get specific values.  For example, lets say you wanted to cut the D-Counter cost in half (1.00%), you could change the 1st and 2nd values from 03 to 01, and change the 3rd value from 02 to 04 (1 + 59 + 40 = 100).  There are a couple more examples of how to get specific values in the editor (click the "D-Counter info" button.

I know this D-Charge stuff seems kind of strange, but that's how they do it in the programing.  

NOTE: In the editor, I combined the 1st and 2nd D-Charge values into one to make things a little easier (there are only 2 adjustments instead of 3).

======================

May add more content in future updates.

